home *** CD-ROM | disk | FTP | other *** search
INI File | 1989-10-17 | 5.7 KB | 163 lines |
- [Last modified on Fri Apr 14 15:02:38 MET DST 1989 by guido]
-
- Installation hints
- ------------------
-
- (Installation information for the Macintosh can be found in mac/README.)
-
- STDWIN is currently not really a well-behaved product. Nevertheless,
- you may try to configure it on a Unix system as follows (this has only
- been tried on 4.2/4.3 BSD systems or derivatives such as Ultrix 2.0):
-
- 1) Edit the configuration files in conf.
- 2) Edit the top-level Makefile.
- 3) Type 'make -k makefiles' at the top level. This creates all makefiles
- in subdirectories. It will also complain about some non-existent
- directories, since I don't distribute evetything. Sorry.
- 4) Type 'make alfa' in the top-level directory to make the alphanumeric
- (termcap) library.
- 5) Type 'make x11' in the top-level directory to make the X11 library.
-
- Obviously, the trick is to know what to change in (1) and (2).
- Have a look at conf/mkmk to see what it does, and edit it to know about
- your hostname. The top level Makefile usually doesn't need adaptations
- except if you want to have different default rules. Hint: LIBXLIB
- should be the directory where the X11 library lives, e.g.
- /usr/local/X/lib or /usr/lib.
-
- The Makefile in subdirectories are automatically created as necessary by
- the top-level Makefile.
-
- To create test applications, go to the 'test' subdirectory, and type
- 'make alla' (to make all alfa test programs) and 'make allx' (to make
- all X11 test programs). The executables will be named *.A and *.X.
- Different versions of an application can co-exist in one subdirectory;
- all STDWIN versions are binary compatible, so relinking
- is all you need to do: the .o files can be used with either library.
- To create the mini editor demo applications, go to the 'miniedit'
- subdirectory, and type 'make miniedit.A miniedit.X'. This will make two
- versions.
-
-
- What belongs in which directory
- -------------------------------
-
- (Note: it is unlikely that you have received all directories.
- Ignore comments on directories you haven't got.)
-
- paper/ Source for the CWI Report describing STDWIN.
-
- man/ Some man pages.
-
- doc/ Documentation (currently a mess)
-
- h/ Header files used in more than one subdirectory.
- These are completely independent of the version used!
- E.g.: stdwin.h, stdtext.h, stdevent.h, l_defs.h
- Also tools.h, which defines bool etc.
-
- tools/ Routines that only need libc to run (i.e., below STDWIN).
-
- gen/ Various routines for stdwin that are common between
- (some) versions, e.g., waskfile.
-
- textedit/ The text-edit package.
-
- alfa/ STDWIN version for alfa terminals (Unix, MS-DOS)
- Also needs one of vtrm, ptrm, atrm.
-
- atari/ STDWIN version for Atart ST (using Mark Williams C)
-
- mg1/ STDWIN version for Whitechapel MG-1 (4.2 BSD)
-
- mac/ STDWIN version for Apple Macintosh (using Lightspeed or MPW C)
-
- x11/ STDWIN version for MIT's X Window System, protocol version 11
-
- vtrm/ VTRM implementation for Unix (needed by "alfa")
-
- ptrm/ VTRM implementation for MS-DOS
-
- atrm/ VTRM implementation for Amoeba (same as vtrm except ioctls)
-
- stubs/ STDWIN version for Amoeba network
-
- server/ Server for Amoeba network
-
- proto/ Prototype STDWIN version (not up-to-date).
- Use as a starter for new implementations
-
- Applications
- ------------
-
- op/ Outline Processor, somewhat like ACTA on the Mac.
-
- ubr/ Universal Browser, text-only 'Finder' for Unix, Mac and
- Amoeba.
-
- dpv/ Ditroff PreViewer.
-
- qview/ Line printer queue viewing program.
-
- wnote/ Amoeba message service.
-
- bed/ Bitmap EDitor, compatible with X11 bitmap format.
-
- vt/ A Virtual Terminal program, of possible use if you need
- to implement terminal emulation using STDWIN
- (Implements a VT100 subset).
-
- miniedit/ Trivial multi-window text editor.
-
- test/
- faced simple 48x48 bitmap editor, edits files in .face format
- bits trivial bitmap editor (no save facilities)
- klok analog clock (rather ugly)
- dklock digital clock (even uglier)
- charset display character set
- test[0-4] various test programs
-
- How it fits together
- --------------------
-
- You can make a number of versions here: in alfa, mg1, X11 or stubs.
- Notes: You can make mg1 only on a Whitechapel MG-1. You can make stubs
- only on a machine running Amoeba. Etc.
- Non-Unix machines: On the Mac, use files from mac; see instructions
- there. On MS-DOS, you can make an alfa version using ptrm.
-
- All versions need tools and gen.
- The alfa version needs vtrm (but on MS-DOS, use ptrm instead).
- Applications using it must be linked with -ltermcap.
- Applications using the stubs version must be linked with -lamoeba.
- Applications using the mg1 version must be linked with
- <all the window manager libraries>.
- Applications using the X11 version must be linked with -lX11.
-
- The server is an application to be used with the alfa, x11 or mg1 version
- (using it with the stubs version appears pointless). It needs -lamoeba
- as well.
-
- The use of mkmk
- ---------------
-
- With a project of this size you can't trust your Makefiles anymore.
- The shell script 'mkmk' should be used to generate a Makefile, with
- complete dependencies etc., from information lying around:
- - conf/Generic Standard definitions
- - conf/Rules Standard rules
- - conf/Sys.<version> System-dependent definitions
- - conf/Site.<shost> Site-dependent definitions
- - Make.conf The essence of the local Makefile
- Plus dependencies generated from the sources.
-
- What I should really have done
- ------------------------------
-
- For each version, create a separate directory where all .o files are
- collected. This way, a single source file can produce different objects
- (guided by -I and/or -D options to cc). The advantage of the current
- scheme, however, is that it reduces the number of compilations if
- multiple versions are being generated on the same machine (e.g., alfa
- and MG-1 or X11 are usually available on the same machine).
-